/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain.bo;

import com.comac.ins.common.core.validate.AddGroup;
import com.comac.ins.common.core.validate.EditGroup;
import com.comac.ins.common.mybatis.core.domain.BaseEntity;
import com.comac.ins.isfd.domain.IsfdModelGeneralPreprocess;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 结构分析通用前处理模型库业务对象 isfd_model_general_preprocess
 *
 * @author Lion Li
 * @date 2025-08-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = IsfdModelGeneralPreprocess.class, reverseConvertGenerate = false)
public class IsfdModelGeneralPreprocessBo extends BaseEntity {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 文件名
     */
    @NotBlank(message = "文件名不能为空", groups = {EditGroup.class })
    private String fileName;

    /**
     * 文件路径
     */
    private String filePath;

    /**
     * OSS文件地址
     */
    @NotBlank(message = "OSS文件地址不能为空", groups = {EditGroup.class })
    private String url;

    /**
     * 机型编号
     */
    @NotBlank(message = "机型编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String modelNumber;

    /**
     * 机型名称
     */
    private String modelName;

    /**
     * 批次编号
     */
    @NotBlank(message = "批次编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String batchNumber;

    /**
     * 批次名称
     */
    private String batchName;

    /**
     * 部段编号
     */
    @NotBlank(message = "部段编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sectionNumber;

    /**
     * 部段名称
     */
    private String sectionName;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 索引文件名
     */
    private String indexFileName;

    /**
     * 模型名称
     */
    private String modeName;
}
